Skip to content

fix(registry): repair invalid/wrong TOML repo keys, dedupe verisimdb-data - #46

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/fix-toml-repo-keys
Jul 2, 2026
Merged

fix(registry): repair invalid/wrong TOML repo keys, dedupe verisimdb-data#46
hyperpolymath merged 1 commit into
mainfrom
claude/fix-toml-repo-keys

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Found while double-checking main after #44/#45 merged — verisim/seed/repos.a2ml was not valid TOML, tomllib.load() errored before this fix. Four pre-existing bugs (none introduced by #44/#45):

  1. [repo..git-private-farm] and [repo..github] — repo names starting with a literal dot produce an empty key segment between the two dots (repo + "" + git-private-farm), a hard TOML parse error. Quoted: [repo.".git-private-farm"] / [repo.".github"].
  2. [repo.hyperpolymath.github.io] and [repo.EchoTypes.jl] — these parse (dots are valid bare-key separators) but as 3-level nested tables instead of the clearly-intended single table keyed by the literal name — silently wrong structure, not a parse error. Every sibling .jl-suffixed entry already quotes correctly (e.g. [repo."Axiom.jl"]); these two just missed it.
  3. [repo.verisimdb-data] was declared twice — line 374 (hand-curated: clade=db, completion=50) and line 2650 (2026-06-25 heuristic backfill: clade=rm, completion=0). TOML forbids redeclaring a table, so this alone made the file unparseable regardless of the key-quoting bugs above. Kept the hand-curated original, removed the backfill duplicate.
  4. worker/data/repos.json's single verisimdb-data entry held the backfill's wrong values (clade: "rm") — reconciled to match the surviving canonical entry (clade: "db").

Test plan

  • python3 -c "import tomllib; tomllib.load(open('verisim/seed/repos.a2ml','rb'))" — now succeeds, 319 repo entries
  • python3 -c "import json; json.load(...)" on both worker JSON files — valid
  • Owner review

🤖 Generated with Claude Code

…data

Found while double-checking the state of main after #44/#45 merged.
verisim/seed/repos.a2ml was NOT valid TOML — tomllib.load() errored
before this fix. Four bugs, all pre-existing (not introduced by #44/#45):

- [repo..git-private-farm] and [repo..github]: repo names starting with
  a literal dot produce an empty key segment between the two dots
  (repo + "" + git-private-farm) — a hard TOML parse error. Quoted:
  [repo.".git-private-farm"] / [repo.".github"].
- [repo.hyperpolymath.github.io] and [repo.EchoTypes.jl]: these parse
  (dots are valid bare-key separators) but as 3-level nested tables
  (repo.hyperpolymath.github.io, repo.EchoTypes.jl) instead of the
  clearly-intended single table keyed by the literal name — silently
  wrong structure, not a parse error. Every sibling .jl-suffixed entry
  in the file already quotes correctly (e.g. [repo."Axiom.jl"]); these
  two just missed it. Quoted to match.
- [repo.verisimdb-data] was declared TWICE (line 374, hand-curated:
  clade=db, completion=50; line 2650, from the 2026-06-25 heuristic
  backfill: clade=rm, completion=0) — TOML forbids redeclaring a table,
  so this alone made the file unparseable regardless of the key-quoting
  bugs above. Kept the original (line 374); removed the backfill
  duplicate. worker/data/repos.json's single verisimdb-data entry had
  the same problem in miniature (it held the backfill's clade=rm
  values) — reconciled to match the surviving canonical entry.

Verified: `python3 -c "import tomllib; tomllib.load(...)"` now succeeds
(319 repo entries) and worker/data/{repos,index}.json still validate as
JSON (JSON keys are always quoted, so it can't have the same key-parsing
bug, but repos.json's verisimdb-data value was wrong regardless).
@sonarqubecloud

sonarqubecloud Bot commented Jul 2, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath marked this pull request as ready for review July 2, 2026 04:36
@hyperpolymath
hyperpolymath merged commit 8858104 into main Jul 2, 2026
20 of 21 checks passed
@hyperpolymath
hyperpolymath deleted the claude/fix-toml-repo-keys branch July 2, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant